package com.sky.service;


import com.sky.dto.CategoryDTO;
import com.sky.dto.CategoryPageQueryDTO;
import com.sky.entity.Category;
import com.sky.result.PageResult;

import java.util.List;

/**
 *
 */
public interface CategoryService {
    /**
     * 新增菜品分类
     *
     * @param categoryDTO 菜品分类实体
     */
    void addCategory(CategoryDTO categoryDTO);


    /**
     * 分页查询菜品分类列表
     *
     * @param queryDTO 分页查询菜品分类列表实体
     * @return 菜品分类列表
     */
    PageResult<Category> pageCategoryList(CategoryPageQueryDTO queryDTO);

    /**
     * 启用/禁用菜品分类
     *
     * @param status 1启用 2禁用
     * @param id     修改的id
     */
    void startsOrStop(Integer status, Long id);

    /**
     * 根据类型查询分类
     *
     * @param type //类型: 1菜品分类 2套餐分类
     * @return 类型下的所有菜品分类列表
     */
    List<Category> list(Integer type);


    /**
     * 修改菜品分类
     *
     * @param categoryDTO 修改菜品分类实体
     */
    void update(CategoryDTO categoryDTO);

    /**
     * 根据id删除菜品分类
     *
     * @param id 菜品分类id
     */
    void deleteByCategoryId(Long id);
}
